package com.yunji.cabinet.service;

import com.yunji.cabinet.bo.UpgradeInfoListBO;
import com.yunji.cabinet.domain.UpgradeInfoDO;
import com.yunji.cabinet.params.UpgradeInfoParam;
import com.yunji.cabinet.vo.UpgradeInfoVO;

import java.util.ArrayList;
import java.util.List;

public interface IUpgradeInfoService {
    boolean saveBatch(List<UpgradeInfoDO> infoList);

    boolean checkWaitInfo(String taskCode);

    boolean startTask(Long infoId);

    List<UpgradeInfoVO> searchVO(UpgradeInfoListBO build);

    Integer countNumsByStatus(String taskCode, Integer code);

    List<UpgradeInfoVO> searchPageList(UpgradeInfoParam param);

    boolean modifyWhetherRetry(Long infoId, Integer newStatus, ArrayList<Integer> olsStatus);

    boolean modifyStatus(Long infoId, Integer code, ArrayList<Integer> integers);

    boolean checkCancel(Long infoId);

    boolean closeTaskByTaskCode(String taskCode);

    List<UpgradeInfoDO> getUpgradeInfoList(UpgradeInfoListBO infoListBO);
}
